!pr0
80 Column ASCII Monitor Dump..........................Mike Dobe
                                                   O'fallon, IL

I have been trying out the monitor patches in the July issue of AAL for adding an ASCII display to the memory dump, and I have two problems with them.  Because the routines place the characters directly into the Apple's screen memory, they do not work with my 80 column card.  The same problem also arises when I want to send a dump to a printer.  As a solution to this problem I present still another monitor patch for an ASCII display.  My version is slightly longer than the others, but it still fits in the cassette tape portion of the monitor (just barely, I might add).

In order to take advantage of the 80 column display I first made the following patches to the monitor:

!lm+10
FDA6:0F
FDB0:0F
!lm-10

These changes allow the dump routine to print 16 values on each line, rather than the usual eight.

Since the characters have to be printed after the current line of the dump is finished, I need a place to buffer up to 16 characters.  $BCDF, an unused area in DOS, serves this purpose.  My routine buffers each byte before calling PRBYTE to display the hex value.  If a particular byte will be the last one on that line of the dump, the patch calls PRBYTE to print the byte, then tabs to column 60 and displays the contents of the buffer.  Upper and lower case characters are printed as they are, and control characters are replaced with blanks.  (That's my style.  As Bob said in July, choose your own favorite!)

Of course the following patch needs to be made to the dump code, to call my routine (this is the same as shown in the July article):

!lm+10
FDBE:C9 FC
!lm-10

The patch can be used with a 40 column display by ignoring the above patches to $FDA6 and $FDB0, and by making the following changes to my patch routine:

!lm+10
1140     AND #7
1200     EOR #7
1300     LDA #30
1420     CPX #8
!lm-10

This patch was tested on a Microtek Magnum 80 card, but it should work on other brands as well.

[  It also works fine with the STB80 card, and the Apple //e...Bill  ]
